草庐IT

SQL 语句

全部标签

php - 为 SQL 注入(inject)过滤 URL 查询字符串 - PHP

我得到了一个网站来修复最近被使用SQL注入(inject)攻击的网站。据我所知,Havij自动SQL注入(inject)器用于将代码插入到url的查询字符串参数中。该网站是自定义CMS构建的,有点过时了。我认为不太可能进行全面重建。防止这种情况再次发生的最佳方法是什么?我是一名PHP开发人员,但通常只是对表单进行验证,或者使用已经内置此功能的系统-wordpress、codeigniter、drupal等。任何想法或想法都会受到赞赏。谢谢 最佳答案 只有一个简单的规则:被放入sql查询的每个变量(不管它来自哪里——来自用户或已经从数

php - 在 PHP 5.2 If 语句中使用命名空间

在将namespace添加到可能在php5.2服务器上运行的脚本之前,是否可以使用某种检查?例如,如果您想在5.3服务器上使用doctrine(需要5.3),并在5.2服务器上回退到PDO。例子:if($pdo){//RETURNapdoconnection}elseif($doctrine){//thiswillfailevenifdoctrineisfalsebecausenamespacesarebeingused$classLoader=newDoctrine\Common\ClassLoader('Doctrine\Common');$classLoader->registe

PHP MS SQL ID格式问题

我正在从为ASP.net应用程序构建/由ASP.net应用程序构建的遗留MSSQL数据库中将记录绘制到PHP中。ID在ASP中显示为一长串数字,但当由PHP检索时,其格式如下:3;Í}±¯I©ûzƒgŸó 最佳答案 在PHP7及更高版本中,您现在必须“告诉”PDO在返回GUID时使用字符串表示形式,而不是默认的二进制表示形式。参见:https://github.com/php/php-src/pull/2001解决方案:/*$dbrepresentthePDOconnection*/$db->setAttribute(PDO::DB

php - 使用 SQL 运行 If/Else PHP 函数

感谢您阅读我的问题。我正在尝试创建一个网站,将数据库中的信息显示在网页上。最终结果将looklikethis,但对于不同的游戏。这是我希望它看起来像的纯HTML页面。到目前为止,我知道我与数据库的连接是有效的。当我运行时:mysql_select_db("DATABASE",$con);$result=mysql_query("SELECT*FROMDATABASE");while($row=mysql_fetch_array($result)){echo$row['Title']."".$row['Type'];echo"";}它返回标题和类型。我想做的是运行一个If/Else语句,

php - 使用 jQuery Ajax 和 PHP 更新 SQL 数据库

所以我尝试使用ajax来更新我的sql数据库中的值,方法是获取被单击的链接并在数据库中找到该链接。我不确定为什么它不起作用:\$('.visit').click(function(){varthisLink=$(this).attr('href');$.post("visit.php",{link:thisLink});}); 最佳答案 要防止SQL注入(inject),请使用如下内容(从内存中输入...仔细检查)。prepare($query);$stmt->execute(array(':link'=>$link));?>鲍勃

PHP:在准备好的语句上获取插入确认

我是准备好的语句的新手,并试图让一些简单的东西起作用。这是我的数据库表:`unblocker_users`(`uno`bigint(20)NOTNULLAUTO_INCREMENT,`user_email`varchar(210)DEFAULTNULL,`pw_hash`varchar(30)DEFAULTNULL,`email_confirmed`tinyint(4)DEFAULTNULL,`total_requests`bigint(20)DEFAULTNULL,`today_date`dateDEFAULTNULL,`accessed_today`tinyint(4)DEFAUL

php - 是否可以在 PHP 的 foreach 语句中嵌入列表函数?

我以前也想过这个问题,但一直没有解决。我想我已经用Python完成了,但从未用过PHP。定义一个基本的php数组:$arr=array(array(1,2,3),array(4,5,6),array(7,8,9));然后运行这段代码:foreach($arras$row){list($a,$b,$c)=$row;echo"$a,$b,$c";}这太常见了,我在我的php职业生涯中肯定已经做过一百万次了……但它似乎有点浪费。$row是一个临时变量,从未真正使用过,list()=行似乎应该能够放入foreach括号中类似这样的事情(当然,这是行不通的):foreach($arraslist

php - require() 和 include() 语句在条件语句中的行为是否不同?

我想看看除了需要它或要求它之外是否还有任何理由(因此得名)。我偶然发现了这个声明:Unlikeinclude(),require()willalwaysreadinthetargetfile,evenifthelineit'sonneverexecutes.Ifyouwanttoconditionallyincludeafile,useinclude().Theconditionalstatementwon'taffecttherequire().However,ifthelineonwhichtherequire()occursisnotexecuted,neitherwillany

php - while 循环和 PDO 语句

我在PDO语句后有一个while循环。我的代码如下。$query="SELECT*FROMprivate_messagesWHEREto_id=:my_idANDto_email=:emailANDrecipient_delete='0'ORDERBYtime_sentDESC";$stmt=$dbo->prepare($query);$stmt->execute(array(":my_id"=>$my_id,":email"=>$email));$row=$stmt->fetch();while($row=$stmt->fetch()){...输出的结果总是少了一行,所以用户最近收到

php - Microsoft Drivers 2.0 for PHP for SQL Server 是否还在某个地方?

所以3.0版位于Microsoft'sdownloadsite.此外,该页面上有一行Pleasenotethatthedownloadlinkforthe2.0Driverwillbedeprecatedinthenearfuture是的,这很好,但是在要求之下PHP5.3.6orPHP5.4我使用的是5.2.x,对于我正在设计的应用程序,我真的不应该那么高。我只是无法从谷歌搜索中找到我需要的php_sqlsrv.dll文件的副本,但我确信它仍在某处。任何人都知道我在哪里可以获得副本? 最佳答案 在PDO_SQLSRV的PHP文档页